/**
 *******************************************************************************
 * @FileName  : exit.c
 * @Author    : GaoQiu
 * @CreateDate: 2020-05-18
 * @Copyright : Copyright(C) GaoQiu
 *              All Rights Reserved.
 *******************************************************************************
 */
#include "exit.h"
#include "platform/platform.h"

#define GPIOx      GPIOD
#define GPIO_PIN   GPIO_Pin_0

void EXIT_SetUp(void)
{
	/* GPIO config. */
	GPIO_InitType_t GPIO_InitStruct;
	GPIO_InitStruct.GPIO_Pin  = GPIO_PIN;
	GPIO_InitStruct.GPIO_Mode = GPIO_Mode_In;
	GPIO_InitStruct.GPIO_Pull = GPIO_PullUp_Strong;
	GPIO_Init(GPIOx, &GPIO_InitStruct);

	GPIO_ITConfig(GPIOx, GPIO_PIN, GPIO_Trigger_Falling, ENABLE);
	IRQ_EnablePeriphIrq(IRQ_GPIO);

	GPIO_InitStruct.GPIO_Pin  = GPIO_Pin_2;
	GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out;
	GPIO_InitStruct.GPIO_Pull = GPIO_Pull_Floating;
	GPIO_Init(GPIOD, &GPIO_InitStruct);
}


void EXIT_Loop(void)
{

}


void EXIT_IRQHandler(void)
{
	/* GPIO IRQ */
	if(IRQ_GetIrqState(IRQ_GPIO))
	{
		IRQ_CleanIrqState(IRQ_GPIO);

		GPIO_ToggleBits(GPIOD, GPIO_Pin_2);
	}
}



